home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / dev / misc / pcq_libcode.lha / req_test.p
Encoding:
Text File  |  1993-02-02  |  1.3 KB  |  47 lines

  1. program entropak;
  2.  
  3. {$I "include:utils/stringlib.i"}
  4. {$I "include:reqtools/reqtools.i"}
  5.  
  6. var
  7.     fileRequestPtr    : FileRequesterPtr;
  8.     fileName    : String;
  9.     myFileListPtr    : FileListPtr;
  10.     myHook        : Hook;
  11.  
  12. const
  13.     matchPatStr    : string    = "*.doc";
  14.  
  15. procedure print_files(file_list:FileListPtr;path:string);
  16.  
  17. begin
  18.     if file_list=NIL then
  19.         return;
  20.     writeln(path,'/',file_list^.Name);
  21.     print_files(file_list^.Next,path)
  22. end;
  23.  
  24. begin
  25.     filename := allocstring(256);
  26.     reqToolsBase := ReqToolsBasePtrType(OpenLibrary(REQTOOLNAME,37));
  27.     if reqToolsBase<>Nil then begin
  28.         fileRequestPtr := FileRequesterPtr(AllocRequestA(RT_FILEREQ,NIL));
  29.         if fileRequestPtr<>NIL then begin
  30.             fileRequestPtr^.hook := Adr(myhook);
  31.             fileRequestPtr^.flags := FREQF_MULTISELECT+FREQF_PATGAD;
  32.             strcpy(fileRequestPtr^.matchPat,matchPatStr);
  33.             myFileListPtr := FileListPtr(FileRequestA(fileRequestPtr,filename,"Please select input file(s)",NIL));
  34.             if myFileListPtr<>Nil then begin
  35.                 print_files(myFileListPtr,fileRequestPtr^.Dir);
  36.                 FreeFileList(myFileListPtr)
  37.             end else
  38.                 writeln('ERROR - no file(s) selected');
  39.             FreeReqBuffer(fileRequestPtr);
  40.             FreeRequest(fileRequestPtr)
  41.         end else
  42.             writeln('ERROR - could not allocate requester');
  43.         CloseLibrary(LibraryPtr(reqToolsBase))
  44.     end else
  45.         writeln('ERROR - could not open ',REQTOOLNAME,' version ',REQTOOLSVERSION)
  46. end.
  47.